package ups.apps.controladores;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.inject.Inject;

import ups.apps.model.Rol;
import ups.apps.model.Usuario;
import ups.apps.model.UsuarioRol;
import ups.apps.negocio.RolDAO;
import ups.apps.negocio.UsuarioDAO;
import ups.apps.negocio.UsuarioRolDAO;

@ManagedBean
public class UsuarioRolBean {
	
	@Inject RolDAO rdao;
	@Inject UsuarioDAO udao;
	@Inject UsuarioRolDAO urdao;
	
	private Rol newRol;
	private List<Rol> listadoRol;
	private Usuario newUsuario;
	private List<Usuario> listadoUsuario;
	
	public UsuarioRolBean(){
		newRol = new Rol();
		newUsuario = new Usuario();
	}
	
	@PostConstruct
	public void init(){
		listadoRol =rdao.getRol();
		listadoUsuario = udao.getUsuarios();
	}

	public Rol getNewRol() {return newRol;}
	public void setNewRol(Rol newRol) {this.newRol = newRol;}

	public List<Rol> getListadoRol() {return listadoRol;}
	public void setListadoRol(List<Rol> listadoRol) {this.listadoRol = listadoRol;}

	public Usuario getNewUsuario() {return newUsuario;}
	public void setNewUsuario(Usuario newUsuario) {this.newUsuario = newUsuario;}

	public List<Usuario> getListadoUsuario() {return listadoUsuario;}
	public void setListadoUsuario(List<Usuario> listadoUsuario) {this.listadoUsuario = listadoUsuario;}
	
	public String asignarRol(){
		System.out.println("Asignando "+newRol.getRolNombre()+" a "+newUsuario.getUsrUsuario());
		UsuarioRol ur = new UsuarioRol();
		ur.setUrol(0);
		ur.setRol(newRol);
		ur.setUsuario(newUsuario);
		urdao.insertarUsrRol(ur);
		return "/public/menu.xhtml?faces-redirect=true";
	}
	

}
